home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / The World of Computer Software.iso / faq-s.zip / RENAME.PAS < prev    next >
Pascal/Delphi Source File  |  1991-02-25  |  3KB  |  109 lines

  1.   procedure modboard;
  2.   var sn:sstr;
  3.       nfp,nbp,nff:lstr;
  4.       qf:file;
  5.       d:integer;
  6.       qe:char;
  7.   begin
  8.     repeat
  9.     clearscr;
  10.     writehdr ('Modify Sub-board');
  11.     writeln(^P'['^S'A'^P'] '^R'Sub-board Name : '^S+curboard.boardname);
  12.     writeln(^P'['^S'B'^P'] '^R'Access Name/#  : '^S+curboard.shortname);
  13.     writeln(^P'['^S'C'^P'] '^R'Board Sponsor  : '^S+curboard.sponsor);
  14.     writeln(^P'['^S'D'^P'] '^R'Access Level   : '^S+strr(curboard.level));
  15.     writeln(^P'['^S'E'^P'] '^R'Auto Delete    : '^S+strr(curboard.autodel));
  16.     write  (^P'['^S'F'^P'] '^R'Allow Anonymous: '^S);
  17.     if curboard.anony then writeln('Yes') else
  18.     writeln(^S'No');
  19.     writeln(^P'['^S'G'^P'] '^R'CelerityNet ID : '^S+strr(curboard.net)+^M);
  20.     writestr (^P'['^R'Board Modify Command'^P']'^S': *');
  21.     if hungupon then exit;
  22.     qe:=upcase(input[1]);
  23.     case qe of
  24.      'A':getbstr ('Board Name',curboard.boardname);
  25.      'B':begin sn:=curboard.shortname;
  26.       getbgen ('Access Name/Number',sn);
  27.       writelog (5,5,curboard.boardname+' ['+sn+']');
  28.    {   if sn=curboard.shortname then exit;  }
  29.       if not validbname(sn) then begin
  30.         writeln ('Invalid board name!');
  31.         exit;
  32.       end;
  33.       if boardexist(sn) then begin
  34.         writeln ('Sorry!  Board already exists!');
  35.         exit;
  36.       end;
  37.       begin curboard.shortname:=sn;
  38.       writecurboard;
  39.       {close (bfile);
  40.       close (ffile);}
  41.       nfp:=datadir+copy(curboard.shortname,1,8)+'.';
  42.       nbp:=nfp+'MS'+strr(conn);
  43.       nff:=nfp+'FI'+strr(conn);
  44.       assign (qf,nbp);
  45.       erase (qf);
  46.       d:=ioresult;
  47.       assign (qf,nff);
  48.       erase (qf);
  49.       d:=ioresult;
  50.       rename (bfile,nbp);
  51.       rename (ffile,nff);
  52.       close (bfile);
  53.       close (ffile);
  54.       setactive (curboard.shortname,false);
  55.       writecurboard;
  56.       end;
  57.      end;
  58.      'C':setsponsor;
  59.      'D':getblevel;
  60.      'E':getautodel;
  61.      'F':setanon;
  62.      'G':setnet;
  63.   end
  64.   until (qe='Q') or (qe='q');
  65.       writecurboard;
  66.   end;
  67.  
  68.     procedure renameboard;
  69.     var sn:sstr;
  70.         nfp,nbp,nff:lstr;
  71.         qf:file;
  72.         d:integer;
  73.     begin
  74.  
  75.       getbstr ('Board Name',curboard.boardname);
  76.       sn:=curboard.shortname;
  77.       getbgen ('Access Name/Number',sn);
  78.       writelog (5,5,curboard.boardname+' ['+sn+']');
  79.       if match(sn,curboard.shortname) then exit;
  80.       if not validbname(sn) then begin
  81.         writeln ('Invalid board name!');
  82.         exit
  83.       end;
  84.       if boardexist(sn) then begin
  85.         writeln ('Sorry!  Board already exists!');
  86.         exit
  87.       end;
  88.       if (validbname(sn)) and not (boardexist(sn)) then begin
  89.       curboard.shortname:=sn;
  90.       writecurboard;
  91.       close (bfile);
  92.       close (ffile);
  93.       nfp:=datadir+sn+'.';
  94.       nbp:=nbp+'MS'+strr(conn);
  95.       nff:=nff+'FI'+strr(conn);
  96.       assign (qf,nbp);
  97.       erase (qf);
  98.       d:=ioresult;
  99.       assign (qf,nff);
  100.       erase (qf);
  101.       d:=ioresult;
  102.       rename (bfile,nbp);
  103.       rename (ffile,nff);
  104.       setfirstboard;
  105.       q:=9
  106.      end;
  107.     end;
  108.  
  109.